#include "DataStructure/Input/Load/FORCE2Data.h"

#include "DataStructure/Common/Validation.h"

bool SG::DataStructure::FEM::operator== (const FORCE2Data& lhs, const FORCE2Data& rhs)
{
    if (lhs.m_sId != rhs.m_sId)
    {
        return false;
    }
    if (lhs.m_nodeId != rhs.m_nodeId)
    {
        return false;
    }
    if (!SG::DataStructure::Common::isNear (lhs.m_force, rhs.m_force))
    {
        return false;
    }
    for (int i = 0; i < 4; ++i)
    {
        if (lhs.m_gi[i] != rhs.m_gi[i])
        {
            return false;
        }
    }
    if (lhs.m_domainId != rhs.m_domainId)
    {
        return false;  // NOLINT(readability-simplify-boolean-expr)
    }
    return true;
}

bool SG::DataStructure::FEM::operator< (const FORCE2Data& SGDataA, const FORCE2Data& SGDataB)
{
    return SGDataA.m_sId < SGDataB.m_sId;
}
